//
//  FBMeViewController.swift
//  Weibo_SwiftDemo
//
//  Created by gjh on 2020/12/13.
//

import UIKit

class JHMineViewController: JHBaseViewController {
    typealias RowMdoel = [String: String]
    
//    private let tableView: UITableView = {
//        let view = UITableView(frame: .zero, style: .grouped)
//        view.register(FBMeBaseCell.self, forCellReuseIdentifier: FBMeBaseCell.ID)
//        return view
//    }()
    
    fileprivate var user: FBMeUser {
        get {
            return FBMeUser(name: "BayMax", education: "CMU")
        }
    }
    
    fileprivate var tableViewDataSource: [[String: Any]] {
        get {
            return TableKeys.populate(withUser: user)
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupTableView()
    }
    
    override func setupTableView() {
        super.setupTableView()
        title = "我的"
//        navigationController?.navigationBar.barTintColor = Spec.color.tint
        
//        tableView.delegate = self
//        tableView.dataSource = self
//        view.addSubview(tableView)
//
//        // Set layout for tableView.
//        tableView.translatesAutoresizingMaskIntoConstraints = false
//        view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[tableView]-0-|", options: .directionLeadingToTrailing, metrics: nil, views: ["tableView": tableView]))
//        view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[tableView]-0-|", options: .directionLeadingToTrailing, metrics: nil, views: ["tableView": tableView]))
    }
    
//    fileprivate func rows(at section: Int) -> [Any] {
//        return tableViewDataSource[section][TableKeys.Rows] as! [Any]
//    }
//
//    fileprivate func title(at section: Int) -> String? {
//        return tableViewDataSource[section][TableKeys.Section] as? String
//    }
//
//    fileprivate func rowModel(at indexPath: IndexPath) -> RowMdoel {
//        return rows(at: indexPath.section)[indexPath.row] as! RowMdoel
//    }
}

//extension JHMineViewController {
//    func numberOfSections(in tableView: UITableView) -> Int {
//        return tableViewDataSource.count
//    }
//
//    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//        return rows(at: section).count
//    }
//
//    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
//        return title(at: section)
//    }
//
//    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//        let modelForRow = rowModel(at: indexPath)
//        var cell = UITableViewCell()
//
//        guard let title = modelForRow[TableKeys.Title] else {
//            return cell
//        }
//
//        if title == user.name {
//            cell = UITableViewCell.init(style: .subtitle, reuseIdentifier: nil)
//        } else {
//            cell = tableView.dequeueReusableCell(withIdentifier: FBMeBaseCell.ID, for: indexPath)
//        }
//
//        cell.textLabel?.text = title
//
//        if let imageName = modelForRow[TableKeys.ImageName] {
//            cell.imageView?.image = UIImage(named: imageName)
//        } else if title != TableKeys.logout {
//            cell.imageView?.image = UIImage(named: Spec.imageName.placeholder)
//        }
//
//        if title == user.name {
//            cell.detailTextLabel?.text = modelForRow[TableKeys.SubTitle]
//        }
//        return cell
//    }
//}
//
//extension JHMineViewController {
//    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//        let modelForRow = rowModel(at: indexPath)
//
//        guard let title = modelForRow[TableKeys.Title] else { return 0.0 }
//
//        if title == user.name {
//            return 64.0
//        } else {
//            return 44.0
//        }
//    }
//    override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
//        let modelForRow = rowModel(at: indexPath)
//
//        guard let title = modelForRow[TableKeys.Title] else { return }
//
//        if title == TableKeys.seeMore || title == TableKeys.addFavorites {
//            cell.textLabel?.textColor = Spec.color.tint
//            cell.accessoryType = .none
//        } else if title == TableKeys.logout {
//            cell.textLabel?.centerYAnchor.constraint(equalTo: cell.centerYAnchor).isActive = true
//            cell.textLabel?.textColor = Spec.color.red
//            cell.textLabel?.textAlignment = .center
//            cell.accessoryType = .none
//        } else {
//            cell.accessoryType = .disclosureIndicator
//        }
//    }
//    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//        tableView.deselectRow(at: indexPath, animated: true)
//    }
//}
